18 research outputs found

    Reliable Provisioning of Spot Instances for Compute-intensive Applications

    Full text link
    Cloud computing providers are now offering their unused resources for leasing in the spot market, which has been considered the first step towards a full-fledged market economy for computational resources. Spot instances are virtual machines (VMs) available at lower prices than their standard on-demand counterparts. These VMs will run for as long as the current price is lower than the maximum bid price users are willing to pay per hour. Spot instances have been increasingly used for executing compute-intensive applications. In spite of an apparent economical advantage, due to an intermittent nature of biddable resources, application execution times may be prolonged or they may not finish at all. This paper proposes a resource allocation strategy that addresses the problem of running compute-intensive jobs on a pool of intermittent virtual machines, while also aiming to run applications in a fast and economical way. To mitigate potential unavailability periods, a multifaceted fault-aware resource provisioning policy is proposed. Our solution employs price and runtime estimation mechanisms, as well as three fault tolerance techniques, namely checkpointing, task duplication and migration. We evaluate our strategies using trace-driven simulations, which take as input real price variation traces, as well as an application trace from the Parallel Workload Archive. Our results demonstrate the effectiveness of executing applications on spot instances, respecting QoS constraints, despite occasional failures.Comment: 8 pages, 4 figure

    Evaluation of memory load indices on distributed computing systems

    Get PDF
    Este trabalho apresenta uma análise de comportamento de índices de carga relacionados ao uso e à atividade de memória. São descritos 11 índices que refletem direta ou indiretamente a carga de memória. Esses índices podem ser obtidos facilmente no sistema peracional GNU/Linux através do sistema de arquivos /proc. Uma ferramenta de monitoramento foi criada para facilitar a análise de comportamento, podendo também servir para fornecer informações de carga para políticas de escalonamento. Os valores de cada índice foram monitorados durante a execução de uma carga de trabalho composta por aplicações reais que utilizam altas quantidades de memória. A partir dos resultados é possível descobrir a utilidade de cada índice, indicando como eles podem ser usados para auxiliar políticas de escalonamento a avaliar a carga de memória de uma máquina. Métricas de avaliação de carga originárias da combinação de mais de um índice são descritas. Essas métricas foram criadas em casos em que a combinação de mais de um índice permitia representar a carga de memória com mais precisão do que índices usados isoladamente. As métricas e índices pesquisados proporcionam formas precisas de representar a carga de memória em vários níveis, desde níveis de baixa utilização até níveis de saturação da memória principal com sintomas de ocorrência de thrashing.This work presents an analysis of the behavior of load indices related to memory usage and activity. It describes 11 indices which reflect memory load, directly or indirectly. These indices may be easily obtained on the GNU/Linux operating system using the /proc filesystem. A monitoring tool has been developed to make the behavior analysis easier, but it can also be employed to provide load information to scheduling policies. The values of each index have been monitored during the execution of a workload composed by real memory-intensive applications. From the monitoring results, it is possible to find out the usefulness of each index, pointing out how it may be used to help scheduling policies evaluate the memory load of a certain computer. Load evaluation metrics have been created combining more than one index, with the objective of characterizing memory load more precisely than just one isolated index. The explored metrics and indices have shown to provide precise forms of representing memory load at several levels, from low utilization levels up to excessive main memory usage with symptoms of thrashing

    Resource provisioning in spot market-based cloud computing environments

    Get PDF
    © 2014 Dr. William VoorsluysRecently, cloud computing providers have started offering unused computational resources in the form of dynamically priced virtual machines (VMs), also known as "spot instances". In spite of the apparent economical advantage, an intermittent nature is inherent to these biddable resources, which may cause VM unavailability. When an out-of-bid situation occurs, i.e. the current spot price goes above the user's maximum bid, spot instances are terminated by the provider without prior notice. This thesis presents a study on employing cloud computing spot instances as a means of executing computational jobs on cloud computing resources. We start by proposing a resource management and job scheduling policy, named SpotRMS, which addresses the problem of running deadline-constrained compute-intensive jobs on a pool of low-cost spot instances, while also exploiting variations in price and performance to run applications in a fast and economical way. This policy relies on job runtime estimations to decide what are the best types of spot instances to run each job and when jobs should run. It is able to minimise monetary spending and make sure jobs finish within their deadlines. We also propose an improvement for SpotRMS, that addresses the problem of running compute-intensive jobs on a pool of intermittent virtual machines, while also aiming to run applications in a fast and economical way. To mitigate potential unavailability periods, a multifaceted fault-aware resource provisioning policy is proposed. Our solution employs price and runtime estimation mechanisms, as well as three fault tolerance techniques, namely checkpointing, task duplication and migration. As a further improvement, we equip SpotRMS with prediction-assisted resource provisioning and bidding strategies. Our results demonstrate that both costs savings and strict adherence to deadlines can be achieved when properly combining and tuning the policy mechanisms. Especially, the fault tolerance mechanism that employs migration of VM state provides superior results in virtually all metrics. Finally, we employ a statistical model of spot price dynamics to artificially generate price patterns of varying volatility. We then analyse how SpotRMS performs in environments with highly variable price levels and more frequent changes. Fault tolerance is shown to be even more crucial in such scenarios

    Evaluation of memory load indices on distributed computing systems

    No full text
    Este trabalho apresenta uma análise de comportamento de índices de carga relacionados ao uso e à atividade de memória. São descritos 11 índices que refletem direta ou indiretamente a carga de memória. Esses índices podem ser obtidos facilmente no sistema peracional GNU/Linux através do sistema de arquivos /proc. Uma ferramenta de monitoramento foi criada para facilitar a análise de comportamento, podendo também servir para fornecer informações de carga para políticas de escalonamento. Os valores de cada índice foram monitorados durante a execução de uma carga de trabalho composta por aplicações reais que utilizam altas quantidades de memória. A partir dos resultados é possível descobrir a utilidade de cada índice, indicando como eles podem ser usados para auxiliar políticas de escalonamento a avaliar a carga de memória de uma máquina. Métricas de avaliação de carga originárias da combinação de mais de um índice são descritas. Essas métricas foram criadas em casos em que a combinação de mais de um índice permitia representar a carga de memória com mais precisão do que índices usados isoladamente. As métricas e índices pesquisados proporcionam formas precisas de representar a carga de memória em vários níveis, desde níveis de baixa utilização até níveis de saturação da memória principal com sintomas de ocorrência de thrashing.This work presents an analysis of the behavior of load indices related to memory usage and activity. It describes 11 indices which reflect memory load, directly or indirectly. These indices may be easily obtained on the GNU/Linux operating system using the /proc filesystem. A monitoring tool has been developed to make the behavior analysis easier, but it can also be employed to provide load information to scheduling policies. The values of each index have been monitored during the execution of a workload composed by real memory-intensive applications. From the monitoring results, it is possible to find out the usefulness of each index, pointing out how it may be used to help scheduling policies evaluate the memory load of a certain computer. Load evaluation metrics have been created combining more than one index, with the objective of characterizing memory load more precisely than just one isolated index. The explored metrics and indices have shown to provide precise forms of representing memory load at several levels, from low utilization levels up to excessive main memory usage with symptoms of thrashing

    Bridging the High Performance Computing Gap: the OurGrid Experience

    No full text
    High performance computing is currently not affordable for those users that cannot rely on having a highly qualified computing support team. To cater for these users ’ needs we have proposed, implemented and deployed OurGrid. OurGrid is a peer-to-peer grid middleware that supports the automatic creation of large computational grids for the execution of embarrassingly parallel applications. It has been used to support the OurGrid Community- a public free-to-join grid that is in production since December 2004. In this paper we show how the OurGrid Community has been used to support the execution of a number of applications. Further we discuss the main benefits brought up by the system and the difficulties that have been faced by the system developers and the users and managers of th

    Brain Image Registration Analysis Workflow for fMRI Studies on Global Grids

    No full text
    Scientific applications like neuroscience data analysis are usually compute and data-intensive. With the use of the additional capacity offered by distributed resources and suitable middlewares, we can achieve much shorter execution time, distribute compute and storage load, and add greater flexibility to the execution of these scientific applications than we could ever achieve in a single compute resource. In this paper, we present the processing of Image Registration (IR) for Functional Magnetic Resonance Imaging (fMRI) studies on Global Grids. We characterize the application, list its requirements and then transform it to a workflow. We then execute the application on Grid’5000 platform and present extensive performance results. We show that the IR application can have 1) significantly improved makespan, 2) distribution of compute and storage load among resources used, and 3) flexibility when executing multiple times on the Grid with the use of suitable middlewares.
    corecore